Certain processors, and other instruction execution apparatus, conventionally implement higher-level machine instructions as lower-level microinstructions. In some cases, the microinstructions or microcode may be arranged or logically divided into microcode subroutines and microcode callers. For example, the microcode callers may call the microcode subroutines to have certain operations performed within the shared microcode subroutines. In the call to the microcode subroutine, and in the return from the microcode subroutine, parameters are typically passed or communicated between the microcode callers and the microcode subroutines. The use of microcode subroutines may offer various potential advantages, such as, for example, the ability to reduce the amount of microcode that needs to be stored. However, the uses and benefits of microcode subroutines are limited by certain aspects.